package com.galaxy.coupon.domain.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.galaxy.common.mybatis.core.domain.BaseEntity;
import com.galaxy.coupon.domain.PointsExchangeRule;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;

/**
 * 积分兑换规则视图对象
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PointsExchangeRule.class)
public class PointsExchangeRuleVo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ExcelProperty(value = "规则ID")
    private Long id;

    /** 优惠券ID */
    @ExcelProperty(value = "优惠券ID")
    private Long couponId;

    /** 优惠券名称 */
    @ExcelProperty(value = "优惠券名称")
    private String couponName;

    /** 所需积分 */
    @ExcelProperty(value = "所需积分")
    private Integer points;

    /** 每人兑换上限(次) */
    @ExcelProperty(value = "每人兑换上限")
    private Integer exchangeLimit;

    /** 兑换开始时间 */
    @ExcelProperty(value = "兑换开始时间")
    private Date startTime;

    /** 兑换结束时间 */
    @ExcelProperty(value = "兑换结束时间")
    private Date endTime;

    /** 状态(0:未启用,1:已启用,2:已结束) */
    @ExcelProperty(value = "状态")
    private Integer status;

    /** 状态名称 */
    @ExcelProperty(value = "状态名称")
    private String statusName;

    /** 规则描述 */
    @ExcelProperty(value = "规则描述")
    private String description;

    /** 创建时间 */
    private Date createTime;

    /** 更新时间 */
    private Date updateTime;

    @TableField(exist = false)
    private CouponTemplateVo coupon;
}
